using System;
using System.Collections.Generic;
using System.Text;

namespace DiggTools
{

    /// <summary>
    /// Represents a story on Digg. Contains data about the id, link, dates, comments, number of diggs and more.
    /// </summary>
    public class Story
    {
        /// <summary>
        /// Constructor that initializes all of the data for a story
        /// </summary>
        /// <param name="id">The ID of the story</param>
        /// <param name="link">The link to the original story</param>
        /// <param name="submitDate">The date the story was submitted</param>
        /// <param name="diggs">The number of Diggs the story has</param>
        /// <param name="comments">The number of comments the story has</param>
        /// <param name="href">the link to the story on Digg.com</param>
        /// <param name="status">The status of the story</param>
        /// <param name="title">The stories title</param>
        /// <param name="description">The stories description</param>
        /// <param name="userName">The name of the user that submitted the story</param>
        /// <param name="topicName">The topic that the story is in</param>
        /// <param name="topicShortName">The URL safe version of the topic that the story is in</param>
        /// <param name="containerName">The continer that the story is in</param>
        /// <param name="containerShortName">The URL safe version of the container that the story is in</param>
        public Story(int id, String link, DateTime submitDate, int diggs, int comments,
                     String href, String status, String title, String description,
                     String userName, String topicName, String topicShortName,
                     String containerName, String containerShortName)
        {
            _id = id;
            _link = link;
            _submitDate = submitDate;
            _diggs = diggs;
            _comments = comments;
            _href = href;
            _status = status;
            _title = title;
            _description = description;
            _userName = userName;
            _topicName = topicName;
            _topicShortName = topicShortName;
            _containerName = containerName;
            _containerShortName = containerShortName;
        }
        private int _id;

        /// <summary>
        /// The id of the story
        /// </summary>
        public int id
        {
            get { return _id; }
            set { _id = value; }
        }

        private String _link;

        /// <summary>
        /// the link to the story
        /// </summary>
        public String link
        {
            get { return _link; }
            set { _link = value; }
        }

        private DateTime _submitDate;

        /// <summary>
        /// The date that the story was submitted
        /// </summary>
        public DateTime submitDate
        {
            get { return _submitDate; }
            set { _submitDate = value; }
        }

        private int _diggs;

        /// <summary>
        /// Number of diggs that the story has
        /// </summary>
        public int diggs
        {
            get { return _diggs; }
            set { _diggs = value; }
        }

        private int _comments;

        /// <summary>
        /// The number of comments that the story has
        /// </summary>
        public int comments
        {
            get { return _comments; }
            set { _comments = value; }
        }

        private String _href;

        /// <summary>
        /// The link to the story on digg.com
        /// </summary>
        public String href
        {
            get { return _href; }
            set { _href = value; }
        }

        private String _status;

        /// <summary>
        /// The current status of the story
        /// </summary>
        public String status
        {
            get { return _status; }
            set { _status = value; }
        }

        private String _title;

        /// <summary>
        /// The title of the story
        /// </summary>
        public String title
        {
            get { return _title; }
            set { _title = value; }
        }

        private String _description;

        /// <summary>
        /// The description of the story
        /// </summary>
        public String description
        {
            get { return _description; }
            set { _description = value; }
        }

        private String _userName;

        /// <summary>
        /// The name of the user that submimtted the story
        /// </summary>
        public String userName
        {
            get { return _userName; }
            set { _userName = value; }
        }

        private String _topicName;

        /// <summary>
        /// The name of the topic that the story is in
        /// </summary>
        public String topicName
        {
            get { return _topicName; }
            set { _topicName = value; }
        }

        private String _topicShortName;

        /// <summary>
        /// The URL safe version of the topic that the story is in
        /// </summary>
        public String topicShortName
        {
            get { return _topicShortName; }
            set { _topicShortName = value; }
        }

        private String _containerName;

        /// <summary>
        /// The container that the story is in
        /// </summary>
        public String containerName
        {
            get { return _containerName; }
            set { _containerName = value; }
        }

        private String _containerShortName;

        /// <summary>
        /// The URL safe version of the container that the story is in
        /// </summary>
        public String containerShortName
        {
            get { return _containerShortName; }
            set { _containerShortName = value; }
        }
    }
}
